package com.zy.explore.sys.application.service;

import com.zy.explore.common.infrastructure.base.mybatis.BaseDao;
import com.zy.explore.common.infrastructure.base.mybatis.BaseServiceImpl;
import com.zy.explore.sys.domain.mybatis.dao.StationMsgDao;
import com.zy.explore.sys.domain.mybatis.entity.StationMsg;
import com.zy.explore.sys.domain.mybatis.entity.UserMsg;
import com.zy.explore.sys.interfaces.frm.SendToUserFrm;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import javax.annotation.Resource;
import java.util.List;

/**
 * 站内信内容表(表station_msg)服务接口实现类
 *
 * @author ChinaYin  主页:https://gitee.com/zy-explorej2ee 邮箱:zyexplorej2ee@sina.com
 * @date 2021年06月13日 18:58:36
 */
@Service
public class StationMsgService extends BaseServiceImpl<StationMsg, Long, Object> {

    /**
     * 注入持久层对象
     */
    @Resource
    private StationMsgDao dao;

    /**
     * 定义抽象方法getDao获取当前实体Mapper对象
     *
     * @return 当前实体Mapper对象
     */
    @Override
    protected BaseDao<StationMsg> getDao() {
        return this.dao;
    }

    /**
     * 查询已发送的总数量
     *
     * @param userId 用户id
     * @return long
     */
    public long getSendMsgTotal(Integer userId) {
        return dao.getSendMsgTotal(userId);
    }

    /**
     * 查询用户发送的消息列表集合
     *
     * @param userId   用户id
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @return {@link List<StationMsg>}
     */
    public List<StationMsg> getSendMsgList(Integer userId, int pageNum, int pageSize) {
        List<StationMsg> retList = dao.getSendMsgList(userId, (pageNum - 1) * pageSize, pageSize);
        return retList;
    }
}